import pygame, sys
from settings import *
from level import Level

class Game:
	def __init__(self):
		#初始化游戏并创建游戏资源
		pygame.init()

		#创建游戏窗口
		self.screen = pygame.display.set_mode((WIDTH,HEIGTH))
		#设置游戏窗口标题
		pygame.display.set_caption('Zelda')
		#创建游戏时钟
		self.clock = pygame.time.Clock()
		#创建游戏关卡
		self.level = Level()

		#播放游戏背景音乐
		main_sound = pygame.mixer.Sound('../audio/main.ogg')
		main_sound.set_volume(0.5)
		main_sound.play(loops = -1)
	
	#开始游戏的主循环
	def run(self):
		while True:
			#侦听键盘和⿏标事件
			for event in pygame.event.get():
				if event.type == pygame.QUIT:
					pygame.quit()
					sys.exit()
				if event.type == pygame.KEYDOWN:
					if event.key == pygame.K_m:
						self.level.toggle_menu()
				if event.type == pygame.MOUSEBUTTONDOWN:
					mouse_pos = pygame.mouse.get_pos()
					self.level.restart(mouse_pos)

			# 让最近绘制的屏幕可⻅ 并将屏幕设置为水蓝色
			self.screen.fill(WATER_COLOR)
			#运行游戏关卡
			self.level.run()
			#更新屏幕
			pygame.display.update()
			#控制游戏速度
			self.clock.tick(FPS)

if __name__ == '__main__':
	#创建游戏实例并运⾏游戏
	game = Game()
	game.run()